// kX Driver / kX Driver Interface / kX Driver Effects Library
// Copyright (c) Eugene Gavrilov, 2001-2008.
// Presets added for kX by Russ 2008
// All rights reserved

/*
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

// kX DSP Generated file

// 10kX microcode
// Patch name: 'ReverbEax2'

char *ReverbEax2_copyright="Copyright 2000 E-mu Systems/Creative Technology, Ltd.  Presets added for kX by Russ 2008";
// NOTE: The present DSP microcode dump is protected by the 
// license agreement bundled with the appropriate software 
// package containing this microcode,
// regardless the particular copyright notice is present in the dump.

char *ReverbEax2_engine="kX";
char *ReverbEax2_comment="You should have original Creative Labs .DLL in order to use this effect legally; $nobypass";
char *ReverbEax2_created="Thu Aug 28 16:26:01 2003 ";
char *ReverbEax2_guid="ebe0f788-3d69-4a9e-ac88-1e3d5a37c7c6";

char *ReverbEax2_name="CLEAX2Reverb";
int ReverbEax2_itramsize=3760,ReverbEax2_xtramsize=78154;

dsp_register_info ReverbEax2_info[]={
	{ "in0",0x4000,0x7,0xffff,0x0 },
	{ "out0",0x8000,0x8,0xffff,0x0 },
	{ "out1",0x8001,0x8,0xffff,0x0 },
	{ "out2",0x8002,0x8,0xffff,0x0 },
	{ "out3",0x8003,0x8,0xffff,0x0 },
	{ "sti8004",0x8004,0x1,0xffff,0x800 },
	{ "sti8028",0x8005,0x1,0xffff,0x7fffffff },
	{ "sti8029",0x8006,0x1,0xffff,0x7fffffff },
	{ "sti802a",0x8007,0x1,0xffff,0x33333333 },
	{ "sti802b",0x8008,0x1,0xffff,0x554FDF3B },
	{ "sti802c",0x8009,0x1,0xffff,0x554FDF3B },
	{ "sti802d",0x800a,0x1,0xffff,0x554FDF3B },
	{ "sti802e",0x800b,0x1,0xffff,0x554FDF3B },
	{ "sti802f",0x800c,0x1,0xffff,0x554FDF3B },
	{ "sti8030",0x800d,0x1,0xffff,0x554FDF3B },
	{ "sti8031",0x800e,0x1,0xffff,0x554FDF3B },
	{ "sti8032",0x800f,0x1,0xffff,0x554FDF3B },
	{ "sti8033",0x8010,0x1,0xffff,0x7e978d4f },
	{ "sti8034",0x8011,0x1,0xffff,0x0 },
	{ "sti8035",0x8012,0x1,0xffff,0x7fffffff },
	{ "dyn8005",0x8013,0x1,0xffff,0x0 },
	{ "dyn8006",0x8014,0x1,0xffff,0x0 },
	{ "dyn8007",0x8015,0x1,0xffff,0x0 },
	{ "dyn8008",0x8016,0x1,0xffff,0xFFFFFCFE },
	{ "dyn8009",0x8017,0x1,0xffff,0xFFFFFCFD },
	{ "dyn800a",0x8018,0x1,0xffff,0x0 },
	{ "dyn800b",0x8019,0x1,0xffff,0x0 },
	{ "dyn800c",0x801a,0x1,0xffff,0x0 },
	{ "dyn800d",0x801b,0x1,0xffff,0x0 },
	{ "dyn800e",0x801c,0x1,0xffff,0x0 },
	{ "dyn800f",0x801d,0x1,0xffff,0x0 },
	{ "dyn8010",0x801e,0x1,0xffff,0x0 },
	{ "dyn8011",0x801f,0x1,0xffff,0x0 },
	{ "dyn8012",0x8020,0x1,0xffff,0x0 },
	{ "dyn8013",0x8021,0x1,0xffff,0x0 },
	{ "dyn8014",0x8022,0x1,0xffff,0x0 },
	{ "dyn8015",0x8023,0x1,0xffff,0x0 },
	{ "dyn8016",0x8024,0x1,0xffff,0x0 },
	{ "dyn8017",0x8025,0x1,0xffff,0x0 },
	{ "dyn8018",0x8026,0x1,0xffff,0x0 },
	{ "dyn8019",0x8027,0x1,0xffff,0x0 },
	{ "dyn801a",0x8028,0x1,0xffff,0x0 },
	{ "dyn801b",0x8029,0x1,0xffff,0xFFFFFFFE },
	{ "dyn801c",0x802a,0x1,0xffff,0xFFFFFFFE },
	{ "dyn801d",0x802b,0x1,0xffff,0xFFFFFFFE },
	{ "dyn801e",0x802c,0x1,0xffff,0xFFFFFFFE },
	{ "dyn801f",0x802d,0x1,0xffff,0xFFFFFFFE },
	{ "dyn8020",0x802e,0x1,0xffff,0xFFFFFFFE },
	{ "dyn8021",0x802f,0x1,0xffff,0xFFFFFFFE },
	{ "dyn8022",0x8030,0x1,0xffff,0xFFFFFFFE },
	{ "dyn8023",0x8031,0x1,0xffff,0x0 },
	{ "dyn8024",0x8032,0x1,0xffff,0x0 },
	{ "dyn8025",0x8033,0x1,0xffff,0x0 }, /* ??? */
	{ "dyn8026",0x8034,0x1,0xffff,0x0 },
	{ "dyn8027",0x8035,0x1,0xffff,0x0 },
	{ "tmp8094",0x8036,0x3,0xffff,0x0 },
	{ "tmp8095",0x8037,0x3,0xffff,0x0 },
	{ "tmp8096",0x8038,0x3,0xffff,0x0 },
	{ "tmp8097",0x8039,0x3,0xffff,0x0 },
	{ "tmp8098",0x803a,0x3,0xffff,0x0 },
	{ "tmp8099",0x803b,0x3,0xffff,0x0 },
	{ "tmp809a",0x803c,0x3,0xffff,0x0 },
	{ "tmp809b",0x803d,0x3,0xffff,0x0 },
	{ "tmp809c",0x803e,0x3,0xffff,0x0 },
	{ "xtr805e",0x803f,0x4a,0xffff,0x0 },
	{ "&xtr805e",0x8040,0xb,0xffff,0x0 },
	{ "xtr8060",0x8041,0x2a,0xffff,0x552 },
	{ "&xtr8060",0x8042,0xb,0xffff,0x552 },
	{ "xtr8062",0x8043,0x4a,0xffff,0x553 },
	{ "&xtr8062",0x8044,0xb,0xffff,0x553 },
	{ "xtr8064",0x8045,0x2a,0xffff,0xa55 },
	{ "&xtr8064",0x8046,0xb,0xffff,0xa55 },
	{ "xtr8066",0x8047,0x4a,0xffff,0xa56 },
	{ "&xtr8066",0x8048,0xb,0xffff,0xa56 },
	{ "xtr8068",0x8049,0x2a,0xffff,0xf21 },
	{ "&xtr8068",0x804a,0xb,0xffff,0xf21 },
	{ "xtr806a",0x804b,0x4a,0xffff,0xf22 },
	{ "&xtr806a",0x804c,0xb,0xffff,0xf22 },
	{ "xtr806c",0x804d,0x2a,0xffff,0x14c1 },
	{ "&xtr806c",0x804e,0xb,0xffff,0x14c1 },
	{ "xtr806e",0x804f,0x4a,0xffff,0x14d2 },
	{ "&xtr806e",0x8050,0xb,0xffff,0x14d2 },
	{ "xtr8070",0x8051,0x2a,0xffff,0x4d12 },
	{ "&xtr8070",0x8052,0xb,0xffff,0x4d12 },
	{ "xtr8072",0x8053,0x2a,0xffff,0x5fd2 },
	{ "&xtr8072",0x8054,0xb,0xffff,0x5fd2 },
	{ "xtr8074",0x8055,0x4a,0xffff,0x5fe2 },
	{ "&xtr8074",0x8056,0xb,0xffff,0x5fe2 },
	{ "xtr8076",0x8057,0x4a,0xffff,0x8f03 },
	{ "&xtr8076",0x8058,0xb,0xffff,0x8f03 },
	{ "xtr8078",0x8059,0x4a,0xffff,0xa084 },
	{ "&xtr8078",0x805a,0xb,0xffff,0xa084 },
	{ "xtr807a",0x805b,0x4a,0xffff,0xc885 },
	{ "&xtr807a",0x805c,0xb,0xffff,0xc885 },
	{ "xtr807c",0x805d,0x4a,0xffff,0xd3d6 },
	{ "&xtr807c",0x805e,0xb,0xffff,0xd3d6 },
	{ "xtr807e",0x805f,0x4a,0xffff,0xf067 },
	{ "&xtr807e",0x8060,0xb,0xffff,0xf067 },
	{ "xtr8080",0x8061,0x4a,0xffff,0x102c0 },
	{ "&xtr8080",0x8062,0xb,0xffff,0x102c0 },
	{ "xtr8082",0x8063,0x4a,0xffff,0x11c99 },
	{ "&xtr8082",0x8064,0xb,0xffff,0x11c99 },
	{ "xtr8084",0x8065,0x2a,0xffff,0x8ef2 },
	{ "&xtr8084",0x8066,0xb,0xffff,0x8ef2 },
	{ "xtr8086",0x8067,0x2a,0xffff,0xa073 },
	{ "&xtr8086",0x8068,0xb,0xffff,0xa073 },
	{ "xtr8088",0x8069,0x2a,0xffff,0xc874 },
	{ "&xtr8088",0x806a,0xb,0xffff,0xc874 },
	{ "xtr808a",0x806b,0x2a,0xffff,0xd3c5 },
	{ "&xtr808a",0x806c,0xb,0xffff,0xd3c5 },
	{ "xtr808c",0x806d,0x2a,0xffff,0xf056 },
	{ "&xtr808c",0x806e,0xb,0xffff,0xf056 },
	{ "xtr808e",0x806f,0x2a,0xffff,0x102af },
	{ "&xtr808e",0x8070,0xb,0xffff,0x102af },
	{ "xtr8090",0x8071,0x2a,0xffff,0x11c88 },
	{ "&xtr8090",0x8072,0xb,0xffff,0x11c88 },
	{ "xtr8092",0x8073,0x2a,0xffff,0x13139 },
	{ "&xtr8092",0x8074,0xb,0xffff,0x13139 },
	{ "itr8036",0x8075,0x49,0xffff,0x0 },
	{ "&itr8036",0x8076,0xb,0xffff,0x0 },
	{ "itr8038",0x8077,0x29,0xffff,0xf0 },
	{ "&itr8038",0x8078,0xb,0xffff,0xf0 },
	{ "itr803a",0x8079,0x29,0xffff,0xf0 },
	{ "&itr803a",0x807a,0xb,0xffff,0xf0 },
	{ "itr803c",0x807b,0x29,0xffff,0xf1 },
	{ "&itr803c",0x807c,0xb,0xffff,0xf1 },
	{ "itr803e",0x807d,0x49,0xffff,0x1e0 },
	{ "&itr803e",0x807e,0xb,0xffff,0x1e0 },
	{ "itr8040",0x807f,0x29,0xffff,0x520 },
	{ "&itr8040",0x8080,0xb,0xffff,0x520 },
	{ "itr8042",0x8081,0x29,0xffff,0x3d5 },
	{ "&itr8042",0x8082,0xb,0xffff,0x3d5 },
	{ "itr8044",0x8083,0x29,0xffff,0x65f },
	{ "&itr8044",0x8084,0xb,0xffff,0x65f },
	{ "itr8046",0x8085,0x49,0xffff,0x660 },
	{ "&itr8046",0x8086,0xb,0xffff,0x660 },
	{ "itr8048",0x8087,0x29,0xffff,0xde0 },
	{ "&itr8048",0x8088,0xb,0xffff,0xde0 },
	{ "itr804a",0x8089,0x29,0xffff,0xbe7 },
	{ "&itr804a",0x808a,0xb,0xffff,0xbe7 },
	{ "itr804c",0x808b,0x29,0xffff,0xa5a },
	{ "&itr804c",0x808c,0xb,0xffff,0xa5a },
	{ "itr804e",0x808d,0x29,0xffff,0x923 },
	{ "&itr804e",0x808e,0xb,0xffff,0x923 },
	{ "itr8050",0x808f,0x29,0xffff,0x82e },
	{ "&itr8050",0x8090,0xb,0xffff,0x82e },
	{ "itr8052",0x8091,0x29,0xffff,0x76e },
	{ "&itr8052",0x8092,0xb,0xffff,0x76e },
	{ "itr8054",0x8093,0x29,0xffff,0x6d6 },
	{ "&itr8054",0x8094,0xb,0xffff,0x6d6 },
	{ "itr8056",0x8095,0x49,0xffff,0xdf1 },
	{ "&itr8056",0x8096,0xb,0xffff,0xdf1 },
	{ "itr8058",0x8097,0x49,0xffff,0xe45 },
	{ "&itr8058",0x8098,0xb,0xffff,0xe45 },
	{ "itr805a",0x8099,0x29,0xffff,0xeaf },
	{ "&itr805a",0x809a,0xb,0xffff,0xeaf },
	{ "itr805c",0x809b,0x29,0xffff,0xe44 },
	{ "&itr805c",0x809c,0xb,0xffff,0xe44 },
};

dsp_code ReverbEax2_code[]={
	{ 0xe,0x8014,0x8015,0x8010,0x8014 },
	{ 0xe,0x8016,0x4000,0x8011,0x8016 },
	{ 0xe,0x8017,0x8016,0x8011,0x8017 },
	{ 0x0,0x804f,0x8017,0x8017,0x204d },
	{ 0x0,0x8036,0x2040,0x8051,0x8005 },
	{ 0x4,0x8036,0x2040,0x8036,0x2044 },
	{ 0x0,0x807d,0x8036,0x2040,0x2040 },
	{ 0x0,0x8037,0x2040,0x8041,0x204f },
	{ 0x0,0x8038,0x2040,0x8036,0x8008 },
	{ 0x0,0x8000,0x8037,0x8038,0x8007 },
	{ 0x1,0x803f,0x8038,0x8000,0x8007 },
	{ 0x0,0x8037,0x2040,0x8045,0x204f },
	{ 0x0,0x8038,0x2040,0x807f,0x8009 },
	{ 0x0,0x8001,0x8037,0x8038,0x8007 },
	{ 0x1,0x8043,0x8038,0x8001,0x8007 },
	{ 0x0,0x8037,0x2040,0x8049,0x204f },
	{ 0x0,0x8038,0x2040,0x8081,0x800a },
	{ 0x0,0x8002,0x8037,0x8038,0x8007 },
	{ 0x1,0x8047,0x8038,0x8002,0x8007 },
	{ 0x0,0x8037,0x2040,0x804d,0x204f },
	{ 0x0,0x8038,0x2040,0x8083,0x800b },
	{ 0x0,0x8003,0x8037,0x8038,0x8007 },
	{ 0x1,0x804b,0x8038,0x8003,0x8007 },
	{ 0x0,0x803d,0x2040,0x8053,0x8006 },
	{ 0x0,0x8085,0x803d,0x2040,0x2040 },
	{ 0x0,0x8033,0x8033,0x8031,0x8012 },
	{ 0x1,0x8012,0x8012,0x8031,0x8033 },
	{ 0x0,0x8037,0x2040,0x8087,0x8034 },
	{ 0x0,0x8039,0x2040,0x8089,0x8034 },
	{ 0x0,0x803b,0x2040,0x808b,0x8034 },
	{ 0x0,0x803e,0x2040,0x808d,0x8034 },
	{ 0x0,0x8036,0x808f,0x8065,0x8021 },
	{ 0x0,0x8037,0x8037,0x8067,0x8022 },
	{ 0x0,0x8038,0x8091,0x8069,0x8023 },
	{ 0x0,0x8039,0x8039,0x806b,0x8024 },
	{ 0x0,0x803a,0x8093,0x806d,0x8025 },
	{ 0x0,0x803b,0x803b,0x806f,0x8026 },
	{ 0x0,0x8075,0x803d,0x8071,0x8027 },
	{ 0xe,0x8013,0x8079,0x8013,0x807b },
	{ 0x0,0x803d,0x803e,0x8073,0x8028 },
	{ 0xe,0x8029,0x8036,0x8018,0x8029 },
	{ 0xe,0x802a,0x8037,0x8019,0x802a },
	{ 0xe,0x802b,0x8038,0x801a,0x802b },
	{ 0xe,0x802c,0x8039,0x801b,0x802c },
	{ 0xe,0x802d,0x803a,0x801c,0x802d },
	{ 0xe,0x802e,0x803b,0x801d,0x802e },
	{ 0xe,0x802f,0x8013,0x801e,0x802f },
	{ 0xe,0x8030,0x803d,0x801f,0x8030 },
	{ 0x0,0x8036,0x8029,0x802a,0x8035 },
	{ 0x0,0x8038,0x802b,0x802c,0x8035 },
	{ 0x0,0x803a,0x802d,0x802e,0x8035 },
	{ 0x0,0x803c,0x802f,0x8030,0x8035 },
	{ 0x0,0x8037,0x8036,0x8038,0x8035 },
	{ 0x1,0x8039,0x8038,0x8036,0x8035 },
	{ 0x0,0x803b,0x803a,0x803c,0x8035 },
	{ 0x1,0x803d,0x803c,0x803a,0x8035 },
	{ 0x0,0x8057,0x8037,0x803b,0x8035 },
	{ 0x0,0x803e,0x2056,0x2040,0x2040 },
	{ 0x0,0x8000,0x8000,0x803e,0x800c },
	{ 0x1,0x805f,0x803b,0x8037,0x8035 },
	{ 0x0,0x8097,0x2056,0x2040,0x2040 },
	{ 0x0,0x8002,0x8002,0x8099,0x800e },
	{ 0x0,0x805b,0x8039,0x803d,0x8035 },
	{ 0x0,0x803e,0x2056,0x2040,0x2040 },
	{ 0x0,0x8001,0x8001,0x803e,0x800d },
	{ 0x1,0x8063,0x803d,0x8039,0x8035 },
	{ 0x0,0x8095,0x2056,0x2040,0x2040 },
	{ 0x0,0x8003,0x8003,0x809b,0x800f },
	{ 0x1,0x8037,0x802a,0x8029,0x8035 },
	{ 0x1,0x8039,0x802c,0x802b,0x8035 },
	{ 0x1,0x803b,0x802e,0x802d,0x8035 },
	{ 0x1,0x803d,0x8030,0x802f,0x8035 },
	{ 0x0,0x8036,0x8037,0x8039,0x8035 },
	{ 0x1,0x8038,0x8039,0x8037,0x8035 },
	{ 0x0,0x803a,0x803b,0x803d,0x8035 },
	{ 0x1,0x803c,0x803d,0x803b,0x8035 },
	{ 0x0,0x8059,0x8036,0x803a,0x8035 },
	{ 0x1,0x8061,0x803a,0x8036,0x8035 },
	{ 0x0,0x805d,0x8038,0x803c,0x8035 },
	{ 0x1,0x8055,0x803c,0x8038,0x8035 },
	{ 0x0,0x8013,0x8078,0x8033,0x8032 },
	{ 0x0,0x807a,0x8013,0x2040,0x2040 },
	{ 0x1,0x807c,0x8013,0x8004,0x204e },
	{ 0x5,0x8013,0x2040,0x8013,0x2055 },
};

#define STI8004_P 0x8004
#define STI8028_P 0x8005
#define STI8029_P 0x8006
#define STI802A_P 0x8007
#define STI802B_P 0x8008
#define STI802C_P 0x8009
#define STI802D_P 0x800a
#define STI802E_P 0x800b
#define STI802F_P 0x800c
#define STI8030_P 0x800d
#define STI8031_P 0x800e
#define STI8032_P 0x800f
#define STI8033_P 0x8010
#define STI8034_P 0x8011
#define STI8035_P 0x8012

#define DYN8005_P 0x8013
#define DYN8006_P 0x8014
#define DYN8007_P 0x8015
#define DYN8008_P 0x8016
#define DYN8009_P 0x8017
#define DYN800A_P 0x8018
#define DYN800B_P 0x8019
#define DYN800C_P 0x801A
#define DYN800D_P 0x801B
#define DYN800E_P 0x801C
#define DYN800F_P 0x801D
#define DYN8010_P 0x801E
#define DYN8011_P 0x801F
#define DYN8012_P 0x8020
#define DYN8013_P 0x8021
#define DYN8014_P 0x8022
#define DYN8015_P 0x8023
#define DYN8016_P 0x8024
#define DYN8017_P 0x8025
#define DYN8018_P 0x8026
#define DYN8019_P 0x8027
#define DYN801A_P 0x8028
#define DYN801B_P 0x8029
#define DYN801C_P 0x802A
#define DYN801D_P 0x802B
#define DYN801E_P 0x802C
#define DYN801F_P 0x802D
#define DYN8020_P 0x802E
#define DYN8021_P 0x802F
#define DYN8022_P 0x8030
#define DYN8023_P 0x8031
#define DYN8024_P 0x8032
#define DYN8025_P 0x8033
#define DYN8026_P 0x8034
#define DYN8027_P 0x8035

#define ITR8036_P 0x8075
#define ITR8038_P 0x8077
#define ITR803A_P 0x8079
#define ITR803C_P 0x807B
#define ITR803E_P 0x807D
#define ITR8040_P 0x807F
#define ITR8042_P 0x8081
#define ITR8044_P 0x8083
#define ITR8046_P 0x8085
#define ITR8048_P 0x8087
#define ITR804A_P 0x8089
#define ITR804C_P 0x808B
#define ITR804E_P 0x808D
#define ITR8050_P 0x808F
#define ITR8052_P 0x8091
#define ITR8054_P 0x8093
#define ITR8056_P 0x8095
#define ITR8058_P 0x8097
#define ITR805A_P 0x8099
#define ITR805C_P 0x809B

#define XTR805E_P 0x803F
#define XTR8060_P 0x8041
#define XTR8062_P 0x8043
#define XTR8064_P 0x8045
#define XTR8066_P 0x8047
#define XTR8068_P 0x8049
#define XTR806A_P 0x804B
#define XTR806C_P 0x804D
#define XTR806E_P 0x804F
#define XTR8070_P 0x8051
#define XTR8072_P 0x8053
#define XTR8074_P 0x8055
#define XTR8076_P 0x8057
#define XTR8078_P 0x8059
#define XTR807A_P 0x805B
#define XTR807C_P 0x805D
#define XTR807E_P 0x805F
#define XTR8080_P 0x8061
#define XTR8082_P 0x8063
#define XTR8084_P 0x8065
#define XTR8086_P 0x8067
#define XTR8088_P 0x8069
#define XTR808A_P 0x806B
#define XTR808C_P 0x806D
#define XTR808E_P 0x806F
#define XTR8090_P 0x8071
#define XTR8092_P 0x8073
